The provisioning and control of machine-to-machine communicating remote devices, often referred to as the Internet of Things (IoT), is an increasing challenge. The genesis of this challenge is multifaceted. First is the variety of communication protocols utilized by such devices, such as, but not limited to, Bluetooth, Zigbee, Z-Wave, 802.11, USB, Ethernet, and many others. Each of these protocols have their own strengths and weaknesses, all of which must be considered both when designing the remote device and when designing software to interact with the remote device.
Another source is the inherent differences that arise when attempting to communicate among remote devices from different product designers. Each remote device may have a unique interface that may enable third-party developers to interact with the remote device. While remote devices (for example, light bulbs) from different product designers may have similar functionality (e.g. brightness, color, color temperature), the amount and difficulty of programming involved to interact with remote devices from each product developer can be substantial.
Because of the diversity of machine-to-machine communicating remote devices product developers currently available on the market, across multiple technology industries, the permutations involved in enabling intercommunication and control of all, or even a critical mass, of these products results in enormous challenges for newcomers to the market to facilitate interoperability between their new product and the universe of previously-existing products. Moreover, there are similar barriers for consumers to provision, control, and tailor usage of these devices. Accordingly, there is a need in the art for systems and methods that simplifies the provisioning and control of IoT devices across multifarious platforms and communication protocols.
Additionally, as a result of the ever-increasing number of IoT devices, the amount of network traffic has similarly increased. Centralized architectures that require all status checks and commands to be issued from a single cloud server to IoT devices serves to increase the overall amount of network traffic. A decentralized architecture, particularly one that is operable to automatically analyze and distribute monitoring and command issuing processing to the lowest-level computerized device within the network of IoT devices, would serve to reduce the amount of network traffic. Accordingly, there is a need in the art for systems and methods that accomplish this.
This background information is provided to reveal information believed by the applicant to be of possible relevance to the present invention. No admission is necessarily intended, nor should be construed, that any of the preceding information constitutes prior art against the present invention.